﻿package morn.core.events
{
    import flash.display.*;
    import flash.events.*;

    public class DragEvent extends Event
    {
        protected var _data:Object;
        protected var _dragInitiator:DisplayObject;
        public static const DRAG_START:String = "dragStart";
        public static const DRAG_DROP:String = "dragDrop";
        public static const DRAG_COMPLETE:String = "dragComplete";

        public function DragEvent(param1:String, param2:DisplayObject = null, param3 = null, param4:Boolean = true, param5:Boolean = false)
        {
            super(param1, param4, param5);
            this._dragInitiator = param2;
            this._data = param3;
            return;
        }// end function

        public function get dragInitiator() : DisplayObject
        {
            return this._dragInitiator;
        }// end function

        public function set dragInitiator(param1:DisplayObject) : void
        {
            this._dragInitiator = param1;
            return;
        }// end function

        public function get data()
        {
            return this._data;
        }// end function

        public function set data(param1) : void
        {
            this._data = param1;
            return;
        }// end function

        override public function clone() : Event
        {
            return new DragEvent(type, this._dragInitiator, this._data, bubbles, cancelable);
        }// end function

    }
}
